黑客可以通過無數種方式破壞您的網絡安全。可悲的是,每年都在發明更多的方法。因此,為了保證基于 Web 的應用程序的安全,您必須學會跟蹤這些方法并確保您已準備好防御它們。您應該了解的策略的一個主要示例稱為注入缺陷。這是黑客最喜歡的武器,他們注意到 Web 應用程序沒有過濾掉本來應該過濾的輸入。
Web應用程序
任何好的 Web 應用程序都應該在門口有一個保鏢,允許某些類型的輸入同時不允許其他類型的輸入。有時,Web 應用程序只能做到這一點。SQL注入是黑客如何利用這一點的一個很好的例子。例如,假設網頁需要您的出生日期才能讓您進入(例如,對于相當標準的注冊表單)。
低于標準的“保鏢”只接受數字,因為這是寫日期的唯一方法。例如,您不能寫“1985 年 4 月 3日”;它必須是 85 年 4 月 3 日。高質量的保鏢只會讓數字出現在這個提示上。
為什么這么大?這是因為雖然輸入字母不能滿足提示的要求,但輸入仍然可能會進入數據庫。然后,知道自己在做什么的人可以在提示符中輸入惡意 SQL 命令,欺騙它不僅讓內容通過,而且將其發送到數據庫。
訪問數據庫
一旦他們可以訪問數據庫,黑客就可以做任何事情,從獲取信息到完全破壞它。Shell 命令的工作方式相同。如果您沒有適當的策略來清理從 Web 應用程序的 HTTP 請求傳遞到命令行的信息,那么黑客可以注入特殊字符、命令修飾符或惡意命令,這些命令將被盲目地引入外部系統。然后它將執行它們。
雖然這似乎是一項艱巨的任務,但如果您策略性地過濾輸入,考慮哪些輸入可以信任或不可以信任,則可以防止這些簡單的攻擊。請記住,這意味著所有輸入,而不僅僅是顯而易見的選擇。如果你把致命弱點暴露在外,一些有進取心的黑客一定會找到它。